<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Getting started: GNOME Data Access 5 manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GNOME Data Access 5 manual">
<link rel="up" href="part_providers.html" title="Part VIII. Databases providers for developers">
<link rel="prev" href="part_providers.html" title="Part VIII. Databases providers for developers">
<link rel="next" href="libgda-provider-class.html" title="Virtual methods for providers">
<meta name="generator" content="GTK-Doc V1.32 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="part_providers.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="part_providers.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="libgda-provider-class.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="id-1.9.6"></a>Getting started</h2></div></div></div>
<p>
	<span class="application">Libgda</span>'s sources contain templates to get started in creating a new database provider. The following templates
	are available:
	</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>the template in the <code class="filename">providers/skel-implementation/capi</code>
	      directory which can be used when writing a provider using the database's C or C++ API (for example
	      the PostgreSQL or MySQL providers)</p></li>
<li class="listitem"><p>the template in the <code class="filename">providers/skel-implementation/models</code>
	      directory which can be used when writing a provider for a system which is not a relational database (or
	      does offer a very limited API, such as for the MS Access or Berkeley DB systems).</p></li>
</ul></div>
<p>
      </p>
<p>
	In any case, for example to create a DummyDb provider, follow these steps:
	</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>copy one of the template's directory into a new directory named
	      <code class="filename">dummydb</code></p></li>
<li class="listitem"><p>From inside that new directory, run the
	      <code class="filename">providers/prepare_provider_sources.sh</code> script with the name
	      of the provider ("dummydb" here), the author's name and the author's email adress, which replaces
	      all the class and object names with the name of the provider and renames the files correctly. These
	      new sources should be compilable without any modification.</p></li>
<li class="listitem"><p>Edit the <code class="filename">Makefile.am</code> to add provider specific compilation and link
	      flags</p></li>
<li class="listitem"><p>Integrate the provider's new code into a compilation unit: either <span class="application">Libgda</span>'s sources in
	      the <code class="filename">providers</code>directory or in your own application (this step usually involves
	      modifying the <code class="filename">configure.ac</code> or <code class="filename">configure.in</code> files).</p></li>
<li class="listitem"><p>Implement the missing parts (it is usually a good idea to look how other provider's
	      implementations are done to get ideas).</p></li>
</ul></div>
<p>
      </p>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.32</div>
</body>
</html>